/*
 * Copyright 2008-2011 Terry J. Gardner. All Rights Reserved.
 */

package com.ldapmaven.annotations;

/**
 * Provides a mechanism whereby an author can describe a precondition of a
 * constructor or method.
 * <p>
 * <blockquote>
 * <pre>
 * &#64;PreCondition(description="param is not permitted to be null.")
 * void setParam(String param)
 * {
 *     if(param==null)
 *     {
 *       throw new Exception();
 *     }
 *    this.param = param;
 * }
 * </pre>
 * </blockquote>
 * </p>
 */
public @interface PreCondition {

    /**
     * A description of the pre-condition
     */
    String[] description();

}
